#include "string"
#include "iostream"
#include "vector"
using namespace std;
vector<long long int> ivec(1000,-1);
//裴波纳契数列   自顶向下动态规划
long long int isFindFbornnaac(int n)
{
    long long int ans;
    if(n==0)
        return 0;
    if(n==1){
        return 1;
    }
    if(ivec[n]!=-1)
        return ivec[n];
    ans=isFindFbornnaac(n-1)+isFindFbornnaac(n-2);
    ivec[n]=ans;
    cout << n << ":" << ans << "  " << endl;
    return ans;
}
int main(){

    int n;
    cin >> n;
    cout<<isFindFbornnaac(n)<<endl;
}
